Advances in data provisioning to aid in data ingestion and data mapping via software data platform

ABSTRACT

The present disclosure relates to processing operations configured to improve data provisioning for management of access to and usage of domain-specific data through a software data platform. Processing described herein provides technical advantages, provided through a software data platform, that enable a user (e.g., an administrator) of an organization to more easily integrate and manage domain-specific data within a software data platform. For instance, a graphical user interface (GUI) of a software data platform is configured to provide a user (e.g., administrative user) with control over provisioning of their data (e.g., education data) including bulk provisioning options to manage utilization and sharing of data via a software data platform. Provisioning management may comprise control over sharing permissions of domain-specific data with vendors (e.g., ISVs integrating within a software data platform), user accounts associated with a tenant configuration and applications/services provided by the software data platform.

CROSS REFERENCE TO RELATED APPLICATIONS

This application This U.S. patent application claims priority under 35 U.S.C. § 120 and is a continuation of U.S. patent application Ser. No. 16/905,749, entitled “ADVANCES IN DATA PROVISIONING INCLUDING BULK PROVISIONING TO AID MANAGEMENT OF DOMAIN-SPECIFIC DATA VIA SOFTWARE DATA PLATFORM,” filed Jun. 18, 2020, which is incorporated by reference herein in its entirety for all purposes.

BACKGROUND

Organizations such as educational organizations implement software systems to manage their data. In doing so, valuable and sensitive organizational data is often required to be shared with different entities to enable access to features, programs, and applications, etc. However, it can be challenging for these organizations to effectively integrate, store, and manage its data in a manner that is both efficient from a processing standpoint as well as secure from a privacy standpoint. These challenges exist due to: fragmentation of information systems; non-interoperability of information systems due to the lack of data integration consistent with standards; legacy solutions which are hard to integrate; resource constraints; lack of visibility into how data is being shared between systems; and distributed data integrations which are hard to maintain and manage, among other technical issues.

Existing solutions to the problems above are quite often found to be expensive and hard to implement. With the wide variety of integration technologies and countless vendor specifications, integrations and updates thereof often become unmanageable. In an educational-specific domain example, educational organizations are asked to provide numerous types of data for each specific vendor they work with. This can also become more difficult as software platforms for managing educational data seek expansive third-party solutions to aid data management of domain-specific data. Educational organizations are bombarded with data requests from most of its software vendors and visa-versa. As such, the need for data exchange has never been greater. The cost of setting up each of these exchanges is often costly and time consuming. It is likely that all independent software vendors (ISV) may need to consume and produce similar data to support integration of ISVs services in an educational environment. At present, educational organizations must work to hire, purchase or produce customer data integration feeds for each ISV as needed. This is repetitive and inefficient from a processing (and resource) standpoint. Moreover, as the customer data being worked with is sensitive (e.g., often personally identifiable information), protected health data about students, data governance and compliance also present constant and significant technical challenges. As such, there is a need for personalized management of domain-specific customer data, for example, where educational organizations are in complete control of their own data.

Furthermore, the ISVs go through complex and often expensive processes to capture and share data from each of their applications/services. Data sharing and retrieval is costly due to the expense to create, maintain and implement the integrations necessary. Many ISV's find themselves needing data from a school information system (SIS), student management systems or other educational data sources to integrate their software. This need is also prevalent in other domains that such as human resources (HR), nursing, special education, etc. In the US alone, there are over 130 different SIS vendors. Worldwide that number becomes even larger. There are also many learning management systems (LMS), content assessment and other educational companies. However, in traditional software data platforms, there are very limited ways (if any) to bring all of the data together while also making sense of how to integrate that data. As such, there is a technical need to improve data ingestion processing, data provisioning, data quality, data consistency each driven by graphical user interfaces to aid user management of domain-specific data.

SUMMARY

In view of the foregoing technical challenges, the present disclosure relates to processing operations configured to improve data provisioning for management of access to and usage of domain-specific data through a software data platform. Processing described herein provides technical advantages, provided through a software data platform, that enable a user (e.g., an administrator) of an organization to more easily integrate and manage domain-specific data within a software data platform. For instance, a graphical user interface (GUI) of a software data platform is configured to provide a user (e.g., administrative user) with control over provisioning of their data (e.g., education data) including bulk provisioning options to manage utilization and sharing of data via a software data platform. Provisioning management may comprise control over sharing permissions of domain-specific data with vendors (e.g., ISVs integrating within a software data platform), user accounts associated with a tenant configuration and applications/services provided by the software data platform.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Additional aspects, features, and/or advantages of examples will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive examples are described with reference to the following figures.

FIG. 1 illustrates an exemplary system diagram of components interfacing to enable improved domain management for integrating data into a software data platform and provisioning the data for subsequent usage, with which aspects of the present disclosure may be practiced.

FIG. 2A illustrates an exemplary method for data ingestion including improved data mapping for integrating data into a software data platform, with which aspects of the present disclosure may be practiced.

FIG. 2B illustrates an exemplary method for data provisioning management of domain-specific data integrated into a software data platform, with which aspects of the present disclosure may be practiced.

FIGS. 3A-3H illustrate non-limiting examples of processing device views of a device that is enabling a user to manage data provisioning of domain-specific data through a GUI of a software data platform, with which aspects of the present disclosure may be practiced.

FIG. 4 illustrates a computing system suitable for implementing processing operations described herein related to domain management via a software data platform, with which aspects of the present disclosure may be practiced.

DETAILED DESCRIPTION

As referenced in the foregoing, the present disclosure relates to processing operations configured to improve data provisioning for management of access to and usage of domain-specific data through a software data platform. Processing described herein provides technical advantages, provided through a software data platform, that enable a user (e.g., an administrator) of an organization to more easily integrate and manage domain-specific data within a software data platform. For instance, a graphical user interface (GUI) of a software data platform is configured to provide a user (e.g., administrative user) with control over provisioning of their data (e.g., education data) including bulk provisioning options to manage utilization and sharing of data via a software data platform. Provisioning management may comprise control over sharing permissions of domain-specific data with vendors (e.g., ISVs integrating within a software data platform), user accounts associated with a tenant configuration and applications/services provided by the software data platform.

With respect to domain-specific data being integrated and provisioned for usage through a software data platform, the present disclosure is designed to improve data ingestion processing and data provisioning processing for an administrative user account that is managing its domain-specific data to enable its users/members to utilize services through a software data platform which may further be extensible to comprise features provided by ISVs. However, it is to be understood that processing operations herein are applicable to any type of user account and is not restricted specifically to an administrative user account. For ease of explanation, a non-limiting example of a domain-specific data is educational data for an educational organization such as a school/school district. However, it is to be understood that the present disclosure is configurable to work with any type of domain administrated by any type of organization without departing from the spirit of the present disclosure. Non-limiting examples of education data comprise but are not limited to: personally identifiable data of people associated with an educational institution including but not limited to: data identifying registered students, teachers, school administrators, etc.; data identifying rostering within an educational institution (or school district) including grades/classes; data identifying any of gradings, transcripts, student attendance; school programs; extracurricular activities; results of student tests and other assessments; etc.; data identifying building student schedules; data identifying parents/families of people associated with an educational institution (e.g., relationships of students); data identifying locations and physical inventory associated with an educational institution; data identifying preferences including preferences for usage of specific features, applications/services, etc.; and data identifying computing resources associated with an educational institution, among other examples.

A non-limiting example of an administrative user account is that of an information technology (IT) admin which is associated with an educational institution. The IT admin may be responsible for managing educational data associated with one or more educational institutions as well as sharing of its educational data with entities such as a plurality of ISVs and a software data platform (e.g., educational platform service). The software data platform (e.g., educational platform service) may be configured as a management information system configured for a specific content purpose. In the educational example, the software data platform is an educational platform service that acts as a hierarchical management information system (e.g., student information system or learning management system) for educational establishments to manage school/educational data (e.g., of students, schools/school districts). In doing so, the educational platform service provides access to a plurality of applications/services that enable the administrative account to manage the educational data as well as provision the data so that users (e.g., students, teachers) associated with a data profile (have access to features provided through the educational platform service and extensible features provided by ISVs. Such features include but are not limited to capabilities for: registering students in courses; conducting online learning/classes; documenting gradings, transcripts, results of student tests and other assessments; building student schedules; tracking student attendance; managing data for extracurricular activities; and managing student-related data needs in a school, among other examples.

The GUI of the education platform service provides a school IT admin with a customized GUI that is configured to allow the administrative user account to manage integration of its educational data across a plurality of ISVs (and services of the educational platform service) with a single data mapping. The GUI is further configured to manage data provisioning of domain-specific data including improved GUI features/elements that enable an administrative user account to more easily manage access to and usage of their data. This may comprise the ability to bulk provision sharing permissions for access to data. The goal is to put the educational institutions in charge of their integrations without being inundated with requests (e.g., from ISVs). The GUI of the education platform service further provides an administrative user account with a high-level overview of system functionality as well as GUI features that easily identifying actions that the IT admin is required to take as well as optional actions that the IT admin can apply to improve functionality and user experience (e.g., provide a richer experience for its users). For instance, intuitive automated data mapping processing may provide suggested data transformations for usage of the education data once it is integrated (e.g., mapped) into the education platform service. Additionally, the GUI is further configured to provide GUI features to assist an administrative user account with data ingestion processing and data provisioning processing even in cases where the administrative user account is inexperienced with using the education platform service or specific programming/data formats that they may be working with. Telemetry analytics may further be provided for the administrative user account through the GUI to aid with decisioning-making including but not limited to: how to setup a data mapping; data transformations for integrating data into the education platform service; what data to include in the data mapping; storage of mapped data; control over sharing of specific types of data (e.g., required and/or optional data); control over specific vendors (e.g., ISVs) and features/services that domain-specific data is shared with; control over permissions for usage of data to enable functionality for user accounts associated with a tenant configuration; and telemetric analysis of usage of features, applications/services, etc., by user accounts associated with a tenant configuration, among other examples. Non-limiting examples of a GUI of an education platform service are illustrated in FIGS. 3A-3H.

In one non-limiting example, a request is received from an administrative user account to view sharing permissions of mapped education data of a synchronized education profile (e.g., for implementing a tenant configuration in an education platform service). The request may be received through a GUI of an education platform service, where the administrative user account is managing a synchronized education profile of the education platform service. As an example, the sharing permissions indicate data sharing of the mapped education data of the synchronized education profile with respect to features/services provided through the education platform service. For instance, this may include sharing permissions for mapped education data with one or more software vendors that provide applications/services for integration with the education platform service. In further examples, the sharing permissions may pertain to sharing of data with user accounts (e.g., teachers, students) associated with the synchronized education profile including access to specific features/services by user accounts.

In any example, the request may be processed by one or more components that are configured to aid the administrative user account with management of the sharing permissions including provisioning of their education data. One example of such a component is an orchestration management component as described herein. Processing of the request may comprise determining current sharing permissions of the mapped education data associated with the synchronized education profile.

A GUI menu (or multiple GUI menus) may be presented through the GUI of an education platform service where the GUI menu displays current sharing permissions associated with mapped education data. A GUI menu may be presented in response to receiving the request to view sharing permissions of mapped education data. The GUI menu may comprise a plurality of selectable/de-selectable GUI elements that enable the administrative user account to control provisioning of the mapped education data. In technical examples, multiple of the plurality of selectable/de-selectable GUI elements may be selected/de-selected in bulk to control data provisioning. In some instances, this may occur through a single GUI selection. In a vendor-specific provisioning example, the customized GUI is configured to provide a plurality of selectable/de-selectable GUI elements for controlling sharing permissions for sharing mapped data with one or more software vendors. Similar functionality may be provided through a GUI for other types of data provisioning including management of sharing permissions associated with user accounts (e.g., of a synchronized education profile) and/or specific provisioning of features/services associated with the education platform service. A selection may be received, through the GUI, of a GUI element from the selectable/de-selectable GUI elements. In response to the receiving of the selection of the GUI element, a state of provisioning of the mapped education data with the one or more software vendors is modified.

A modification of the state of provisioning may change one or more sharing permissions associated with mapped education data. In one example, a modification of the state of provisioning automatically executes a bulk provisioning change that modifies sharing permissions for two or more types of data identified in a stored data mapping for a synchronized education profile. This may occur based on the selection of an associated GUI element. As a non-limiting example, the two or more types of data, identified in the stored data mapping for the synchronized education profile, may comprise: data of required educational data fields; and data of optional educational data fields. The data of required educational data fields pertain to a current (active) configuration of the synchronized education profile. The data of optional educational data fields, if activated, would enhance a user experience for users associated with the synchronized education profile relative to the specific application/service features of the one or more software vendors. A modification of the state of provisioning of the mapped education data may comprise changing sharing permissions with respect to the data of the required educational data fields and the data of the optional educational data fields.

Continuing the above example, current sharing permissions associated with the mapped education data may be updated through the education platform service based on a modification of the state of provisioning of mapped education data (e.g., received through the GUI). An update of the current sharing permissions may be presented through the GUI. During real-time (or near real-time) execution of a GUI of an education platform service, an exemplary orchestration management component may be configured to present data analytics insights (or results from analysis thereof) to aid the administrative user account with determinations for data ingestion processing and data provisioning processing. This may comprise notifications, suggestions, recommendations, autocorrections, telemetric reporting, etc., for management of provisioning of mapped education data. As an example, trained artificial intelligence (AI) processing may be configured to automatically generate data analytics insights and/or results from analysis thereof. Data analytics insights (and results therefrom) may be generated from analysis of collected signal data. Non-limiting examples of signal data that may be utilized for generation of data analytics insights comprise but are not limited to signal data pertaining to one or more of: usage of the administrative user account; a tenant configuration (e.g., synchronized education profiles) associated with the administrative user account; features/services provided through the educational platform service; and one or more software vendors associated with a tenant configuration or otherwise available for integration within the tenant configuration, among other types of signal data. Trained AI processing may further be configured to execute ranking processing to curate data analytics insights and determine a most relevant data analytics insight (or determination therefrom) for a current context with respect to user access to the education platform service.

An orchestration management component may be further configured to evaluate signal data to determine a timing (reference point) for surfacing of data analytics insights or determinations generated from analysis thereof. For instance, trained AI processing may be configured to execute ranking processing configured to filter timing options f to determine a best possible time to utilize and/or present a data analytic insight. In some examples, this analysis may result in a technical decision to provide a result of analysis of data analytics insights (e.g., recommendations, suggestions, autocorrections, telemetry data/reporting) through a GUI of the education platform service. In other examples, a result of analysis of data analytics insights may yield a decision to provide a notification, suggestion, recommendation, telemetric report, etc., through another modality. For instance, an email application/service may be associated with the education platform service, where a telemetric reporting may be provided to the administrative user account to aid resolution of data provisioning matters within the education platform service.

The education platform service may further be configured to enable interfacing between organizations (e.g., educational institutions) and software vendors (e.g., ISVs). A relationship therebetween may be managed by the administrative user account through features and/or applications/services of the education platform service. In one technical instance, the GUI of the education platform service is configured to provide a GUI element configured to indicate an existing contract state for integration of services of the one or more software vendors with a synchronized education profile. This may assist the administrative user account with managing the contractual relationship. An exemplary GUI element that configured to indicate the existing contract state may provide visual indication of a current term of a contract with the one or more software vendors. This may facilitate easier and more efficient management of an existing contractual relationship while also providing greater transparency thereof for the administrative user account. In some examples, generation of data analytics insights may comprise generating a data analytics insight (or recommendation/suggestion) for managing the existing contract state for integration of services of the one or more software vendors with the synchronized education profile, and wherein the recommendation is a recommendation for modifying the existing contract state that comprises the data analytics insight for managing the existing contract state.

As referenced in the foregoing description, telemetry data may be provided to aid a user with management of data provisioning. In some examples, telemetry data may be programmed to be automatically requested to be provided as specific processing progresses (e.g., data mapping processing, data provisioning processing). As referenced in the foregoing description, trained AI processing may analyze timing options for surfacing of data analytics insights or determinations generated from analysis thereof. This may occur to help ensure that insights, recommendations, autocorrections etc., are contextually relevant to best aid the user. In other examples, telemetry data may be provided through a GUI when the administrative user account requests assistance. In further instances, signal data from other features/services and/or integrated applications/services (e.g., email/messaging application/service, collaborative/team-based application/service) may be triggers to utilize and present data analytics insights. For instance, an email may be sent from an ISV to the administrative user account, which may be a trigger to review a state of provisioning provided through the education platform service.

Exemplary technical advantages provided by processing described in the present disclosure comprise but are not limited to: generating and rendering of an improved GUI that enables presentation of customized GUI features for data ingestion processing and data provisioning processing; implementation of automated data mapping processing to aid users with integration of domain-specific data (e.g., educational data) for usage through a software data platform (e.g., educational platform service); improving processing efficiency (e.g., reduction in processing cycles, saving resources/bandwidth) for computing devices executing data ingestion processing and data provisioning; better management of computing resources in a distributed service example where a data profile of a software data platform is integrating with a plurality of ISVs; novel configuration of artificial intelligence (AI) processing to generate data analytics insights that enhance data provisioning and presentation of a GUI; better management of data through distributed data storage; and interoperability to enable integration of domain-specific data into a software data platform that provides users with access to a plurality of different features, applications/services, etc., of a software data platform and/or ISVs thereby improving usability and user experiences of a software data platform, among other technical advantages.

FIG. 1 illustrates an exemplary system diagram 100 of components interfacing to enable improved domain management for integrating data into a software data platform and provisioning the data for subsequent usage, with which aspects of the present disclosure may be practiced. As an example, components illustrated in system diagram 100 may be executed by an exemplary computing system 401 (or multiple computing systems) as described in the description of FIG. 4 . System diagram 100 describes components that may be utilized to execute processing operations described in methods 200 (FIG. 2A) and 240 (FIG. 2B), processing associated with visual diagrams of FIGS. 3A-3H and the accompanying description. Moreover, interactions between components of system diagram 100 may be altered without departing from the spirit of the present disclosure. Exemplary components, described in system diagram 100, may be hardware and/or software components, which are programmed to execute processing operations described herein. In some examples, components of system diagram 100 may each be one or more computing devices associated with execution of a specific service. Exemplary services may be managed by a software data platform that also provides, to a component, access to and knowledge of other components that are associated with applications/services. In one instance, processing operations described in system diagram 100 may be implemented by one or more components connected over a distributed network, where a user account (e.g., administrative user account) may be working with a specific data profile established through a software data platform. System diagram 100 comprises a distributed software platform 102; an orchestration management component 104; tenants 106; vendors 108; applications/services 110; AI processing 112 and a distributed cache storage 114.

The distributed software platform 102 may be a software system connecting components thereof over a distributed network connection. Implement of components to enable operation of components of a software data platform over a network connection are known to one skilled in the field of art. For instance, the distributed software platform 102 may be backed by one or more services to enable the distributed software platform 102 to be implemented in a variety of different technical scenarios including but not limited to: software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). Moreover, the distributed software platform may support many different programming languages, tools, and frameworks, etc., including both organizationally proprietary systems (e.g., Microsoft®-specific and third-party software and systems including those of ISVs).

In examples described herein, the distributed software platform 102 is configured for a specific content purpose such as education (e.g., MICROSOFT® Education, GOOGLE® for Education). In the educational example, the distributed software platform 102 is an educational platform service that acts as a hierarchical management information system (e.g., SIS or LMS) for educational establishments to manage school/educational data (e.g., of students, schools/school districts). Implementation of educational information systems for traditional purposes is known to one skilled in the field of art. The distributed software platform 102 provides access to a plurality of applications/services that enable the administrative user account to management educational data as well as provision the data via tenants 106 so that users (e.g., students, teachers) of a tenant configuration have access to features provided through the distributed software platform 102 and extensible features provided by ISVs. For instance, ISVs may interface with the distributed software platform 102 and/or specific organizations (e.g., educational institutions/school districts) to enable access to features/services of the ISV via the distributed software platform 102. Such features include but are not limited to capabilities for: registering students in courses; conducting online learning/classes; documenting gradings, transcripts, results of student tests and other assessments; building student schedules; tracking student attendance; managing data for extracurricular activities; and managing student-related data needs in a school, among other examples. In the example of a well-known software data platform example, Microsoft365®, may be integrated into the distributed software platform 102 to provide access to applications/services for furthering of an educational experience. As indicated in foregoing, there are numerous technical problems with respect to traditional implementations of software data platforms when it comes to data ingestion, data provisioning and GUI capabilities provided to specific user accounts (e.g., administrative user accounts) that manage educational data of one or more educational institutions. Integration of an exemplary orchestration management component 104 resolves such technical problems as well as enables the distributed software platform 102 to provide an improved GUI to aid a user account (e.g., administrative user account) with data ingestion processing and data provisioning processing.

The GUI of the distributed software platform 102 provides a school IT admin with a customized GUI experience that is configured to allow an administrative user account to manage integration of its educational data across a plurality of ISVs (and services of the educational platform service) with a single data mapping. The goal is to put the educational institutions in charge of their integrations without being inundated with requests (e.g., from ISVs). The GUI of the distributed software platform 102 further provides an administrative user account with a high-level overview of system functionality as well as GUI features that easily identifying actions that the administrative user account is required to take as well as optional actions that the administrative user account can apply to improve functionality and user experience (e.g., provide a richer experience for its users). For instance, intuitive automated data mapping processing may provide suggested data transformations for usage of the education data once it is integrated into the distributed software platform 102 (e.g., education platform service). Additionally, the GUI is further configured to provide GUI features to assist an administrative user account with data ingestion processing even in cases where the administrative user account is inexperienced with using the education platform service or specific programming/data formats that they may be working with. Telemetry analytics may further be provided for the administrative user account through the GUI to aid with decisioning-making including but not limited to: how to setup a data mapping; data transformations for integrating data into the education platform service; what data to include in the data mapping; and storage of mapped data, among other examples. Non-limiting examples of a GUI of an exemplary distributed software platform 102 are illustrated in FIGS. 3A-3H.

The orchestration management component 104 comprises one or more components that are configured to manage data relationships pertaining to the distributed software platform 102. In one example, the orchestration management component 104 may be a component of the distributed software platform 102. However, in some alternative examples, the orchestration management component 104 may be a component that is external to the distributed software platform 102 interfacing therewith over a network connection. Specific processing operations executed by the orchestration management component 104 comprise processing operations referenced in the description of method 200 (FIG. 2A), method 240 (FIG. 2B) and the accompanying description of FIGS. 3A-3H in addition to those described herein.

With respect to the management of relationships pertaining to the distributed software platform 102, the orchestration management component 104 enables an administrative user account of an educational organization (e.g., school IT admin for a school/school district) to manage relationships that are specific to tenant 106 created through the distributed software platform 102. An exemplary tenant 106 may be a configuration set for a group of users for utilization of the distributed software platform 102. For instance, a tenant 106 may correspond to a data profile (or multiple profiles) created within the distributed software platform 102. An example of a data profile is a synchronized education profile (e.g., for an education platform service) that provides a specific configuration of the distributed software platform 102 for one or more educational institutions whereby the synchronized education profile provides access to vendors 108 (e.g., ISVs) applications/services 110 of the distributed software platform 102. A synchronized education profile may be utilized by one or more users of an educational institution (e.g., groups of users such as students, teachers) to access functionality provided through the distributed software platform 102 that comprises access to features providing an SIS or LMS. A tenant 106 (e.g., a synchronized education profile) may be managed by the administrative user account, where the administrative user account can manage its domain-specific data (e.g., educational data for the one or more educational institutions) for usage through the distributed software platform 102 including sharing of the educational data to interface with vendors 108 and application/services 110 of the distributed software platform 102. In examples where an administrative user account is managing more than one educational institution, tenants 106 may be created to respectively manage individual educational institutions (or a specific group of educational institutions). Education/educational data is specific to the one or more educational institutions. Non-limiting examples of education data comprise but are not limited to: personally identifiable data of people associated with an educational institution including but not limited to: data identifying registered students, teachers, school administrators, etc.; data identifying rostering within an educational institution (or school district) including classes/grades; data identifying any of gradings, transcripts, student attendance; school programs; extracurricular activities; results of student tests and other assessments; etc.; data identifying building student schedules; data identifying parents/families of people associated with an educational institution (e.g., relationships of students); data identifying locations and physical inventory associated with an educational institution; data identifying preferences including preferences for usage of specific features, applications/services, etc.; and data identifying computing resources associated with an educational institution, among other examples.

As identified above, an administrative user account may manage relationships associated with a tenant 106 including how educational data is used within the distributed software platform 102 and subsequently shared with vendors 108 and application/services 110 of the distributed software platform 102. For instance, specific vendors 108 (e.g., ISVs) may be associated with a specific tenant 106 providing access to vendor-specific features through the distributed software platform 102. In some instances, vendors 108 may have a contractual relationship with one or more of an educational institution and the distributed software platform 102. An administrative user account may be responsible for management of contractual relationships with vendors 108 whereby features and services may be provided to designations of user accounts associated with a specific tenant 106. This includes management of specific education data that is sharable with vendors 108, for example, to enable features and services provided by the vendor 108 through the distributed software platform 102 or other type of software modality. The orchestration management component 104 may be further configured to enable management of contractual relationships between an administrative user account and the vendors 108 and/or with the services provided through the distributed software platform 102. In specific examples, a GUI associated with a distributed software platform 102 (e.g., education platform service) is configured to provide GUI elements specific to the management of such contractual relationships including but not limited to: term of a contractual relationship; activation/disabling of specific features and services; and sharing permissions associated with educational data, among other examples. Furthermore, the orchestration management component 104 may be further configured to generate data analytics insights based on signal data obtained through monitoring of the contractual relationships. As the distributed software platform 102 is expansive enough to incorporate a plurality of different applications/services, including communication/messaging applications/services, signal data may be collected and analyzed to determine state/status associated with a contractual relationship. This information may be analyzed and presented to the administrative user account in a useful manner to aid data ingestion and data provisioning of education data, for example, where data analytics insights may be surfaced through a GUI (or other modality) as a notification, suggestion, recommendation, autocorrection or in telemetric reporting, among other examples.

The administrative user account may further utilize the orchestration management component 104 to manage the education data itself, including creating/modifying data mappings of the education data for usage through the distributed software platform 102 and data provisioning that enables utilization of the education data (by the distributed software platform 102 and/or ISVs). This enables the administrative user account to be able to provide user accounts (e.g., students and teachers) associated with a tenant 106 with a rich and comprehensive user experience through the distributed software platform 102. The administrative user account may further manage sharing of its education data with specific features/services of the distributed software platform 102, whereby education data (e.g., all, some, none) may be enabled through the distributed software platform 102 to allow usage of specific features or services and/or features and services provided by the vendors 108. Specific processing operations pertaining to data mapping processing, executed via the orchestration management component 104 are described in the description of methods 200 (FIG. 2A) and 240 (FIG. 2B).

The orchestration management component 104 may be configured to interface with AI processing 112 to aid data ingestion and data provisioning of education data including the automated creation of an exemplary data mapping of education data. In one example, automation of data mapping processing may be programmed to execute through a software module, trained AI modeling or a combination thereof. Above what is traditionally known, AI processing 112 described herein may be trained to generate and retrieve data analytics insights that may aid decision-making for automating the data mapping processing and data provisioning including generation of determinations, notifications, recommendations/suggestions/autocorrections/telemetric reporting for the administrative user account (e.g., presented through a GUI). In some instances where automated data mapping processing occurs through operation of a programmed software module, the trained AI processing 112 may be utilized to enhance determinations thereof and/or provide suggestions/recommendations for the administrative user account during data mapping processing and/or data provisioning processing. Implementation of AI including creation and management of data modeling is known to one skilled in the field of art. Above what is traditionally known, trained AI processing is configured for the purposes of management of data ingestion and data provisioning to manage domain-specific data. Exemplary AI processing 112, which is applicable to aid any type of determinative or predictive processing described herein, may be any of: supervised learning; unsupervised learning; semi-supervised learning; or reinforcement learning, among other examples. Non-limiting examples of supervised learning that may be applied comprise but are not limited to: nearest neighbor processing; naive bayes classification processing; decision trees; linear regression; support vector machines (SVM); and neural networks, among other examples. Non-limiting of unsupervised learning that may be applied comprise but are not limited to: application of clustering processing including k-means for clustering problems, hierarchical clustering, mixture modeling, etc.; application of association rule learning; application of latent variable modeling; anomaly detection; and neural network processing, among other examples. Non-limiting of semi-supervised learning that may be applied comprise but are not limited to: assumption determination processing; generative modeling; low-density separation processing and graph-based method processing, among other examples. Non-limiting of reinforcement learning that may be applied comprise but are not limited to: value-based processing; policy-based processing; and model-based processing, among other examples.

In any example, the artificial intelligence processing 112 may be configured to apply a ranker to determine a best possible result for outputting a determination related to any of: automated data mapping; data provisioning; and generation of recommendations/suggestions to aid data ingestion or data provisioning; and telemetric reporting (e.g., of user account activity), among other examples. Implementation of ranking/scoring processing is known to one skilled in the field of art. Above what is traditionally known with respect to operation of ranking processing for AI processing 112, the AI processing 112 may be utilized to apply ranking/scoring to generated data analytics insights in order to generate a determination that may aid automated data mapping and/or data provisioning or any type of telemetric analysis. For instance, trained AI processing 112 may be configured to retrieved signal data and generate data analytics insights from collected signal data. Trained ranking processing may then be applied to analyze and curate the generated data analytics insights to generate said determinations.

Non-limiting examples of signal data that may be utilized for generation of data analytics insights comprise but are not limited to signal data pertaining to one or more of: usage of the administrative user account; a tenant configuration (e.g., synchronized education profiles) associated with the administrative user account; features/services provided through the educational platform service; and one or more software vendors associated with a tenant configuration or otherwise available for integration within the tenant configuration, among other types of signal data. Signal data may comprise any of user-specific signal data, device-specific signal data, application/service-specific signal data or a combination thereof. In some instances, signal data is obtained from accessing and parsing log data pertaining to usage of the distributed software platform 102 (including a specific feature/service provided by an ISV) by an administrative user account. Non-limiting examples of usage of an administrative user account comprise but are not limited to: signal data detected during real-time (or near real-time) usage of a software data platform 102 (e.g., education platform service); device-specific data used for login to the administrative user account; user-specific signal data for usage of the administrative user account; usage data from interactions of the administrative user account with specific features, applications, services, etc.; preferences set for an administrative user account; past interactions with data mapping processing and/or data provisioning processing, and communications/messages received from/through one or more of vendors 108 and applications/services 110 of the distributed software platform 102, among other examples. Non-limiting examples of a tenant configuration (e.g., synchronized education profiles) associated with the administrative user account comprise but are not limited to: identification of specific features/services associated with a synchronized education profile including activated/de-activated features/services specific to a vendor 108 and/or an application/service 110 of the distributed software platform 102; device-specific data of users associated with a tenant 106 including device configurations during access to the distributed software platform 102; and identification of types of user accounts associated with a tenant 106, among other examples. Non-limiting examples of features/services provided through the educational platform service comprise but are not limited: usage, by user accounts associated with a tenant 106, of specific features/services provided through the distributed software platform 102 including activated/de-activated features/services; and new features/services provided by and/or accessible through the distributed software platform 102. Non-limiting examples of signal data pertaining to software vendors comprise but are not limited to: usage, by user accounts associated with a tenant 106, of specific features/services provided by vendors 108 (e.g., through the distributed software platform 102) including activated/de-activated vendor-specific features/services; and new features/services provided by vendors 108 and/or accessible through the distributed software platform 102.

In some cases, programmed rules may be applied by trained AI processing 112 that are used to determine how to prioritize collected signal data/generated data analytic insights to generate determinations to aid data mapping processing or data provisioning processing. Developers may set programmed rules specific to the types of processing operations being executed by the orchestration management component 104. For example, a rule may be applied that checks for specific types of signal data when other types of signal data are detected. In other technical instances, rules may set that applied a weighting to specific types of signal data (or generated data analytics insights) which may be useful for generating determinations when the orchestration management component 104 is at a specific processing point. For instance, specific types of signal data may be evaluated when the orchestration management component 104 is determining whether to suggest a required data mapping designation or an optional mapping designation. In further examples, other types of signal data may be more useful when providing telemetric analytics pertaining to user account usage of features/services for data provisioning determinations.

Moreover, during progression of data ingestion processing, an exemplary orchestration management component, via programmed software module and/or trained AI processing, may be configured to detect a timing for utilizing and/or surfacing specific data analytics insights or results of analysis of data analytics insights (e.g., determinations, notifications recommendations, suggestions, autocorrections, telemetry reports). For instance, signal data pertaining to usage of the education platforms service by the administrative user account and/or signal data received regarding execution of features/services of the education platform service (e.g., automated execution of data mapping processing) may be analyzed to yield timing determinations as to when to utilize and/or present the data analytics insights. In some examples, determinations may be programmed to be automatically requested as specific processing progresses (e.g., data mapping, data provisioning) or when the administrative user account requests assistance. In further examples, signal data from other features/services and/or integrated applications/services (e.g., email/messaging application/service, collaborative/team-based application/service) may be triggers to utilize and present data analytics insights.

With respect to specific data provisioning processing, the orchestration management component 104 may be configured to aid the administrative user account with provisioning of mapped education data. This may include management of sharing permissions for mapped education data associated with a synchronized education profile. The sharing permissions indicate data sharing of the mapped education data of the synchronized education profile with respect to features/services provided through the education platform service and/or features/services provided independently by an ISV. For instance, this may include sharing permissions for mapped education data with vendors 108 that provide applications/services for integration with the software data platform 102. In further examples, the sharing permissions may pertain to sharing of data with user accounts (e.g., teachers, students) associated with a tenant 106 (e.g., synchronized education profile) including access to specific features/services by user accounts. The orchestration management component 104 may be configured to interface with other components of the software data platform 102 to enable control over management of sharing permissions through a GUI of the software data platform 102 or other modality (e.g., application/service interfacing with the software data platform 102). For instance, a state of provisioning of the mapped education data with the one or more vendors 108 may be modified or a state of provisioning for features/services enabled for user account associated with a tenant configuration.

Moreover, the orchestration management component 104 may be further configured to interface with components of the distributed software platform 102 to update current sharing permissions associated with the education data may be updated through the software data platform 102 based on a modification received through a GUI. An update of the current sharing permissions may be presented through the GUI. During real-time (or near real-time) execution of a GUI of the software data platform 102, an exemplary orchestration management component may be configured to present data analytics insights (or results from analysis thereof) to aid the administrative user account with determinations for data ingestion processing and data provisioning processing. This may comprise suggestions, recommendations, autocorrections, telemetric reporting, etc., for management of provisioning of mapped education data. As an example, trained AI processing 112 may be configured to automatically generate data analytics insights and/or results from analysis thereof. Data analytics insights (and results therefrom) may be generated from analysis of collected signal data as previously described. Trained AI processing 112 may further be configured to execute ranking processing to curate data analytics insights and determine a most relevant data analytics insight (or determination therefrom) for a current context with respect to user access to the software data platform 102.

In specific technical examples, the orchestration management component 104 may be configured to evaluate signal data to determine a timing (reference point) for surfacing of data analytics insights or determinations generated from analysis thereof. For instance, trained AI processing 112 may be configured to execute ranking processing configured to filter timing options to determine a best possible time to utilize and/or present a data analytic insight such as when the administrative user account is reviewing specific sharing permissions for data provisioning management. In some examples, this analysis may result in a technical decision to provide a result of analysis of data analytics insights (e.g., recommendations, suggestions, autocorrections, telemetry data/reporting) through a GUI. In other examples, a result of analysis of data analytics insights may yield a decision to provide a notification, suggestion, recommendation, telemetric report, etc., through another modality. For instance, an email application/service may be associated with the software data platform 102, where a telemetric reporting may be provided to the administrative user account to aid resolution of data provisioning matters within the software data platform 102. In at least one example, an email, notification, message, etc., may provide a link to connect the administrative user account to a specific GUI feature through the software data platform 102 so the administrative user account can more easily management data provisioning.

A modification of the state of provisioning may change one or more sharing permissions associated with the education data. In one example, a modification of the state of provisioning automatically executes a bulk provisioning change that modifies sharing permissions for two or more types of data identified in a stored data (education data) mapping for a synchronized education profile. This may occur based on the selection of an associated GUI element. As a non-limiting example, the two or more types of data, identified in the stored data mapping for the synchronized education profile, may comprise: data of required educational data fields; and data of optional educational data fields. The data of required educational data fields that pertain to a current configuration of the synchronized education profile relative to specific application/service features of one or more vendors 108 (e.g., integrated with the education platform service). The data of optional educational data fields that, if activated, would enhance a user experience for users associated with the synchronized education profile relative to the specific application/service features of the one or more vendors 108.

Additionally, the orchestration management component 104 may store education data including created data mappings on a distributed data storage. A non-limiting example of a distributed data storage is a distributed cache storage 114. The distributed cache storage 114 is configured to store application data (e.g., education data and associated data mappings) and web session data residing in database to enable access to and usage of the distributed software platform 102 including processing operations described herein related to data ingestion, data provisioning and usage of the distributed software platform 102 for SIS/LMS purposes. An exemplary distributed cache storage 114 may span multiple computing devices (e.g., servers) to accommodate larger transactional capacity if necessary. In some examples, the distributed cache storage 114 may be specific to a tenant 106, where the administrative user account may securely manage educational data specific to one or more institutions.

It is noted that education data is stored and retained in a manner that is commensurate with legal governance and compliance, which may include providing notice of usage of education data and obtaining consent to utilize education data in a specific manner (e.g., sharing data with third-parties). A key differentiator of the distributed software platform 102 presented herein from other education service models is that the education institution, through the administrative user account, has full control of their education data including sharing permissions for usage of the education data. In one non-limiting example, services connected with the distributed cache storage 114 allows the educational institution, through the administrative user account, to generate a copy of the institution education data (e.g., student roster data they have uploaded) directly from the distributed cache storage 114 with a selection of a GUI feature. This may include indication of mapped data educational fields for the distributed software platform 102. In further examples, the mapped education data may be read from the distributed cache storage 114 for generation of telemetry data for display to the administrative user account. In any case, facilitating direct access to mapped data allows an administrative user account to utilize data tools, provided through the distributed software platform 102, to build out reports (e.g., telemetry reports) based on their institution's needs. This also reinforces that the education data is their own data and not data of the distributed software platform 102. In some examples, the orchestration management component 104 may be configured to generate telemetry reports or other types of data analytics assessments automatically on behalf of an administrative user account. Such reports may be surfaced (e.g., automatically) for the administrative user account through the GUI or other software modality (e.g., email messaging, collaborative communication application/service) to further aid management of education data. An exemplary GUI of the distributed software platform 102 may further be improved to comprise GUI elements/features that enable control storage of the education data through the distributed cache storage 114. For instance, a GUI may enable access to view data locally stored, or stored on a distributed storage to troubleshoot, search or filter in view (e.g., identify and filter data for specific sync profiles).

During data ingestion processing, the orchestration management component 104 may further be configured to enable control of how and where education data and associated data mappings are stored (e.g., on the distributed cache storage 114). This may enable better control over education data when it comes to provisioning of the education data with vendors 108 and applications/services 110 including the setting of sharing permissions thereof. Further, education data of a specific type may be mapped in a single data mapping, stored on the distributed cache storage 114, whereby an administrative user account is able to bulk provision access to the education data (e.g., for vendors 108, applications/services 110 or other entities or purposes) using the single data mapping without having to create a plurality of associations to the data with each individual vendor 108, application/service 110, etc. For instance, specific types of education data may be identified in a data mapping (e.g., required educational data fields and optional educational data fields) and organized in hierarchical manner for ease of access and provisioning. This further provides an administrative user account with better control over their own education data.

FIG. 2A illustrates an exemplary method 200 for data ingestion including improved data mapping for integrating data into a software data platform, with which aspects of the present disclosure may be practiced. As an example, method 200 may be executed across an exemplary computing system 401 (or computing systems) as described in the description of FIG. 4 . Exemplary components, described in method 200, may be hardware and/or software components, which are programmed to execute processing operations described herein. Non-limiting examples of components for operations of processing operations in method 200 are described in system diagram 100 (FIG. 1 ). Operations performed in method 200 may correspond to operations executed by a system and/or service that execute computer programs, software agents, application programming interfaces (APIs), plugins, AI processing including application of trained data models, intelligent bots, neural networks and/or machine-learning processing, among other examples. In one non-limiting example, processing operations described in method 200 may be executed by a component such as an orchestration management component 104 (of FIG. 1 ). In distributed examples, processing operations described in method 200 may be implemented by one or more components connected over a distributed network.

Method 200 begins at processing operation 202, where a request to integrate data into a data profile (e.g., synchronized education profile) of a software data platform (e.g., education platform service) is received. As referenced in the foregoing description, an exemplary profile may be associated with a tenant configuration of a software data platform. In the example described in method 200, the software data platform is an education platform service, where a user account is an administrative user account that is managing education data associated with one or more educational institutions. An administrative user account may login (and authenticate) to the education platform service. Processing for validation of login and authentication of the administrative user account is known to one skilled in the field of art. Through a GUI of the education platform service, the administrative user account may request (processing operation 202) to integrate file data into a data profile of the education platform service to initiate data mapping processing. This may occur through one or more selections of GUI elements presented through a GUI of the education platform service. For instance, the administrative user account may provide a selection of specific data file (or data files) intending to integrate data of the data file into the education platform service. As referenced in the foregoing description, data may be education data associated with one or more educational institutions. An exemplary GUI may be improved over traditional GUIs for administrative control of education data making it much easier for an administrative user account (e.g., IT admin) to integrate data into a software platform. Non-limiting examples of an exemplary GUI are illustrated in FIGS. 3A-3H.

Flow of method 200 may proceed to processing operation 204, where data analytics insights may be generated to aid data ingestion processing. In some instances, data analytics insights may be generated in real-time (or near real-time). For instance, this may occur based on evaluation of signal data pertaining to usage of the administrative user account, where access to specific features/services may be a trigger to generate data analytics insights. In one example, receipt of a data ingestion request may be a trigger for initiating back-end processing to generate data analytics insights (e.g., receipt of the request in processing operation 202). This may subsequently aid the education platform service in guiding an administrative user account through steps of data mapping processing. In alternative examples, data analytics insights may be generated at a point in time where the administrative user account is offline (logged off) from the educational platform service. As such, method 200 may not require explicit generation of data analytics insights and may only require retrieval thereof.

As an example, the data analytics insights are generated by application of trained AI processing as referenced in the foregoing description. For instance, data analytics insights may be generated for any aspect of data ingestion processing, data provisioning processing and/or telemetric analysis of a tenant account (including usage of applications/services provided through an education platform service by specific users). Trained AI processing may be applied to generate the data analytics insights by analyzing signal data. As referenced in the foregoing description, non-limiting examples of signal data comprise but are not limited to signal data indicating one or more of: usage of the administrative user account; a tenant configuration (e.g., synchronized education profiles) associated with the administrative user account; features/services provided through the educational platform service; and one or more software vendors associated with a tenant configuration or otherwise available for integration within the tenant configuration, among other types of signal data. With respect to data ingestion, trained AI processing may correlate signal data with specific steps in data ingestion processing (e.g., throughout data mapping processing) to generate insights to guide the administrative user account through the data mapping process. For instance, signal data detected from real-time (or near real-time) actions of the administrative user account may be utilized to generate relevant data analytics insights and subsequent determinations generated from data analytics insights. As previously described, application of trained AI processing may further utilize data analytics insights to generate determinations that may aid automated data mapping and/or data provisioning or any type of telemetric analysis. Processing operation 204 may further comprise automatically generating said determinations, which may be manifested as any of suggestions, recommendations, autocorrections, telemetric reports, etc.

During progression of data ingestion processing, an exemplary orchestration management component, via programmed software module and/or trained AI processing, may be configured to detect a timing for utilizing and/or surfacing specific data analytics insights or results of analysis of data analytics insights (e.g., determinations, recommendations, suggestions, autocorrections, telemetry reports). For instance, signal data pertaining to usage of the education platforms service by the administrative user account and/or signal data received regarding execution of features/services of the education platform service (e.g., automated execution of data mapping processing) may be analyzed to yield timing determinations as to when to utilize and/or present the data analytics insights. In some examples, determinations may be programmed to be automatically requested as specific processing (e.g., data mapping processing progresses) or when the administrative user account requests assistance. In further examples, signal data from other features/services and/or integrated applications/services (e.g., email/messaging application/service, collaborative/team-based application/service) may be triggers to utilize and present data analytics insights. Furthermore, ranking processing may be applied to filter timing options for utilizing data analytics insights to determine a best possible time to utilize and/or present a data analytic insight. It is noted that processing to generate and analyze data analytics insights may be continuous and reflect a current context in which the educational platform service is executing and user interaction therewith.

At processing operation 206, data analytics insights for the profile may be retrieved through the education platform service. Retrieval (processing operation 206) of data analytics insights may comprise one or more of: identifying, parsing and filtering specific data analytics insights. In one example, data analytics insights may be curated/filtered based on a timing identified for utilization of data analytics insights (e.g., based on user interaction with the education platform service for data ingestion processing). Furthermore, processing operation 206 may further comprise identifying applicable results of analysis of data analytics insights (e.g., determinations, recommendations, suggestions, autocorrections, telemetry reports), which may further improve processing efficiency (and a user experience through the GUI)

Continuing with method 200, in response to receiving the request to integrate data, a component of the software data platform automatically executes (processing operation 208) data mapping processing. In one example, automated execution (processing operation 208) of data mapping processing may be pre-programmed to occur through execution of an orchestration management that may run concurrently (or integrated within) the education platform service. In further instances, automated execution (processing operation 208) of data mapping processing may utilize the data analytics insights (and results of analysis thereof) to generate a data mapping for integration of the data into the profile of the education platform service. In an educational example, the data mapping processing maps the data of the data file to educational data fields associated with the data profile (e.g., synchronized education profile) being managed by the administrative user account. This enables the education data to be integrated into features/services of the education platform service including features/services provided by ISVs integrating therein.

Automatic execution (processing operation 208) of the data mapping processing aids the administrative user account with importation of their education data into the education platform service. Essentially, processing operation 208 comprises presentation of a wizard-like GUI that guides the administrative user account through processing that needs to occur to map its education data into the education platform service. Data mapping processing may factor in a current tenant configuration including relationships with vendors (ISVs) as well as inform the administrative user account of optional configurations that may be implemented for future extensibility of the education platform service. Depending on the features/services that the administrative user account wishes to activate in the future, optional educational data fields may need to be mapped, which the administrative user account may not be aware of normally when integrating its education data. The automatic data mapping processing may help organize an institutions education data into buckets (e.g., required educational data fields, optional educational data fields) so that the administrative user account has complete control over feature/service control using a single data mapping. This greatly improves processing efficiency by acquiring data (and mapping the data) once and using that mapping to integrate with many different vendors (ISVs) and/or applications/services. In other technical instances, the breadth of application of data that is provisioned can be easily modified at any time without requiring re-mapping of data. However, data mapping processing can also be created/modified at any time through the automatic data mapping processing. Throughout the data mapping processing, the orchestration management component may be configured to monitor reference points and interactions and present to the user auto suggestions to further reduce onboarding abandonment or feelings of being overwhelmed with the process. This may further help prevent or reduce manual errors while increasing confidence in the automatic processing.

During execution, processing operation 208 may comprise identifying data needed from an educational institution to enable features/services of the education platform service. This may comprise identification of data files that store specific types of education/educational data including but not limited to: organizations, academic sessions including identification of calendared school year, courses, classes, users, enrollments, extracurricular activities, among other non-limiting examples. An exemplary GUI may direct to an administrative user account to identify the type of education data being imported and how they would like to import the data (e.g., file type, format). Such GUI selections may impact how the data mapping processing progresses and the validation checks that may be performed on the data. For instance, a specific type of education data (e.g., rostering) may be mapped for integration into the education platform service. The administrative user account may then identify how the data will be read (e.g., location on local/distributed storage) and the format for import of a data file (e.g., file identifying comma-separated values (CSV) or API).

Through the data mapping processing, an exemplary GUI enables access to view education data locally stored in cache or distributed storage managed by the admin, troubleshoot, search or filter in view (e.g., identify and filter data for specific synchronized education profiles). The data mapping processing attempts to automatically correlate identified education data with specific data field mappings of the education platform service. GUI features may further be provided through the GUI to control features related to educational data fields, update of data mappings, etc. For instance, non-limiting examples of GUI features/elements may provide options including but not limited to: review listings of existing mapping fields; update field mappings; raise warnings, acknowledge messages, make notes/comments; filter data mappings based on data profiles; execute run scheduled synchronization or manual synchronizations; manage credentials including types of connectors associated with systems; view logs of user activity; view telemetry for data mapping processing, usage of education platform service by users of profiles (tenant configurations) and links to support, among other examples.

Furthermore, trained AI processing may be configured to automate the data mapping process on behalf of the administrative user account. This may comprise generation of data analytics insights to aid with data mapping processing. In some examples, data analytics insights (and recommendations therefrom) may be presented to the administrative user during the validation check. In at least one instance, automated execution of the mapping processing comprises determining required educational data fields that pertain to a current configuration of the synchronized education profile relative to one or more of: services of the education platform service and services associated with the one or more software vendors. In further instances, automated execution of the mapping processing comprises determining optional educational data fields that, if activated, would enhance a user experience for users associated with the synchronized education profile relative to one or more of: the services of the education platform service and the services associated with the one or more software vendors. When the validation check is presented to the administrative user, the GUI may be configured to disambiguate the required educational data fields from the optional data fields. This enables an administrative user to more clearly understand how their data is being used and how to provision the data when it comes to integration with ISVs and features of the educational platform service.

Execution (processing operation 208) of data mapping processing may further comprise validation of a data mapping of educational data to educational data fields associated with the education platform service. Validation may occur on different aspects of data/educational data fields (e.g., do I have all the files I am looking for based on the format and configuration?). In doing, so education data (and associated metadata) for ingestion may be identified, parsed and analyzed. This may begin with evaluation of header data associated with a portion of a data file to identify the specific data that is being evaluated for ingestion. In one example, a row by row validation occurs of the data to correlate a specific portion of education data with an educational data field of the education platform service. In cases where header information is not identified to properly parse data for records, a validation error may be identified. If the headers can be correlated, the data mapping processing may proceed.

Validation checks may also be performed on the actual data that is being ingested. Validation checks may be pre-programmed by developers with respect to the type of data that is being mapped. For instance, non-limiting examples of validation checks may evaluate associations/references between the education data and an institution providing the education data including but not limited to: are users such as students teacher properly associated with an educational institutions?; is a school/educational institution valid?; are students associated with a specific grade/class, district, etc., among other examples. Further validation checks may occur on the breakdown of data in the file. For example, if the data file identifies a specific type of file (e.g., student rostering) then does the data file identify specifics such as: grade; class; age; teacher designation, etc., among other examples. Validation errors may be raised on any aspect of the data mapping processing. In some cases, validation errors may simply be raised to confirm a specific aspect of the data mapping with the administrative user account (e.g., to help identify features/services which may provide a richer experience of users of the education platform service). As the data analytics insights are further configured to aid the administrative user account during data ingestion processing, the automatically executing of the data mapping processing further generates one or more recommendations, based on the data analytics insights, that are configured to assist the administrative user account with validation of the data mapping.

As a result of execution of a validation check, flow of method 200 may proceed to processing operation 210. At processing operation 210, it is determined if any validation errors are identified from the data mapping processing. A validation check of the data mapping may be presented (processing operation 212) to the administrative user account through the GUI of the education platform service.

Processing operation 212 may comprise presenting validation errors or review of mapping fields for user confirmation. In a non-limiting example, presentation of the validation check comprises surfacing, through the GUI, one or more recommendations for the data mapping that are generated from the data analytics insights. If validation errors occur, the validation check may further present validation errors and insights and/or autocorrections to aid remediation. As referenced above, in some examples, data mapping processing may result in determination of data mapping errors when mapping data of a data file to educational fields for usage through the education platform service. Presentation of a validation check may comprise presenting, through a GUI, identification of any data mapping errors to aid resolution of the data mapping error by the administrative user account. In at least one example, determination of a data mapping error may comprise utilizing the data analytics insights to recommend an input value for one or more of the educational data fields associated with the data mapping error, where a recommendation for the input value is provided in the validation check to aid resolution of the data mapping error. In essence, this provides a suggested data transformation to aid data mapping on behalf of the administrative user account before the user has to intervene. In some technical instances, a recommendation for an input value may be a curated listing of input values that may be most applicable to a specific educational data field in an education platform service. For instance, a small list of specific types of input values may be curated as a suggested data transformation from a large listing of applicable input values. This listing may be presented for confirmation by the administrative user account as a novel type of data transformation suggestion so that the admin is not overwhelmed with a large amount of data mapping possibilities.

In other examples, determination of a data mapping error may comprise utilizing the data analytics insights to generate an autocorrection of the data mapping error. Presentation (processing operation 212) of a validation check may comprise presenting a GUI element identifying the autocorrection of the data mapping error for the administrative user account. In further examples, specific data analytics insights may be provided through a GUI. In the example where an autocorrection is applied, a data analytics insight may identify the administrative user a rationale as to why the autocorrection was automatically applied. An exemplary rationale may have a basis on a collective analysis of one or more of: the synchronized education profiles associated with the administrative user account; the features/services provided through the educational platform service and the signal data pertaining to one or more software vendors, among other examples.

Flow of method 200 may proceed to processing operation 214. At processing operation 214, a confirmation is received of a data mapping of the education data to the educational data fields of the education platform service. In some instances, the administrative user account may provide confirmation of the data mapping when they believe that the data has been properly mapped. This does not necessarily mean that all data mapping errors have been resolved. In other cases, the confirmation may be received after all validation errors have been resolved. As such, flow of method 200 may proceed to decision operation 216, where it is determined if validation errors have been resolved. In cases where validation errors are not resolved, the data mapping processing may direct the administrative user account to resolve the data mapping errors (through the GUI) before proceeding. If data mapping errors remain (i.e., have not been resolved), flow of decision operation 216 branches NO and processing of method 200 returns to processing operation 212. At processing operation 212, an updated data mapping validation is presented to the administrative user account through the GUI. This provides the administrative user account with the opportunity to resolve outstanding data mapping errors. In technical instances where all data mapping errors are resolved, flow of decision operation 216 branches YES, and processing of method 200 proceeds to processing operation 218.

At processing operation 218, the data mapping is stored for the administrative user account. As referenced in the foregoing description, storage (processing operation 218) of the data mapping may result in the data mapping being stored on a distributed cache storage associated with the education platform service. The distributed cache storage may be specific to a tenant configuration (e.g., one or more synchronized education profiles), which may be exclusively controlled by the administrative user account.

Flow of method 200 may proceed to processing operation 220. At processing operation 220, the data mapping may be integrated with one or more data profiles of the education platform service. Processing operation 220 may comprise automated processing that activates/de-activates features/services based on the stored data mapping. In some alternative examples, the data mapping may be enabled to be integrated with other application/services outside of a specific education platform service. In such technical instances, processing may be similar where the data mapping may be used to provide access to features/services of other applications/services. In alternative examples, a GUI may further be modified to enable integration of generated data mapping with other applications/services, which may include data transformations of specific educational data fields that were mapped for a different purpose.

At processing operation 222, access to the data mapping may be provided to the administrative user account through the GUI of the education platform service. This may occur to provide the administrative user account with the ability to utilize the data mapping for a specific purpose (e.g., retrieve telemetric reports) or otherwise modify/update the data mapping. In cases where the administrative user account modifies/updates a stored data mapping, the changes may be automatically reflected and propagated for application through the education platform service including to vendors (ISVs) providing features/services through the education platform service.

FIG. 2B illustrates an exemplary method 240 for data provisioning management of domain-specific data integrated into a software data platform, with which aspects of the present disclosure may be practiced. As an example, method 240 may be executed across an exemplary computing system 401 (or computing systems) as described in the description of FIG. 4 . Exemplary components, described in method 240, may be hardware and/or software components, which are programmed to execute processing operations described herein. Non-limiting examples of components for operations of processing operations in method 240 are described in system diagram 100 (FIG. 1 ). Operations performed in method 240 may correspond to operations executed by a system and/or service that execute computer programs, software agents, application programming interfaces (APIs), plugins, AI processing including application of trained data models, intelligent bots, neural networks and/or machine-learning processing, among other examples. In one non-limiting example, processing operations described in method 240 may be executed by a component such as an orchestration management component 104 (of FIG. 1 ). In distributed examples, processing operations described in method 240 may be implemented by one or more components connected over a distributed network. For example, components may be executed on one or more network-enabled computing devices, connected over a distributed network.

Method 240 begins at processing operation 242, where access to an administrative user account is detected through an education platform service. Processing operation 242 may comprise receiving and/or evaluating signal data indicating that the administrative user account is logged and authenticated to the education platform service. This may begin processing to monitor a context of a user including user interactions with the education platform service. Doing so may ultimately aid automated processing to generate data analytics insights and determinations therefrom on behalf of the administrative user account. In some technical examples, the administrative user account may be associated with a single data profile (e.g., synchronized education profile) through the education platform service. In other instances, the administrative user account may provide selection through the GUI for disambiguating between data profiles for which they are managing. An exemplary orchestration management component (104 of FIG. 1 ) may be configured to manage the collection of signal data and interfacing with trained AI processing for usage to generate data analytics insights and determinations therefrom including user interactions provided through the GUI.

Flow of method 240 may proceed to processing operation 244, where a request is received from an administrative user account to create/modify sharing permissions of mapped education data. The mapped education data may be that associated with a synchronized education profile (e.g. specific tenant configuration the education platform service). The request may be received through a GUI of an education platform service, for example, after detecting access to the administrative account (processing operation 242) through the administrative user account. As an example, the sharing permissions indicate data sharing of the mapped education data of the synchronized education profile with respect to features/services provided through the education platform service. For instance, this may include sharing permissions for mapped education data with one or more software vendors that provide applications/services for integration with the education platform service. In further examples, the sharing permissions may pertain to sharing of data with user accounts (e.g., teachers, students) associated with the synchronized education profile including access to specific features/services by user accounts. Method 240 illustrates that the received request may correspond with management of data provisioning for any of a vendor 244A, a tenant 244B and applications/services 244C (e.g., provided through the education platform service). As referenced in the foregoing description, vendors 244A and applications/services 244C of the education platform service may be enabled to work with a specific tenant configuration (tenant 244B), which is why the vendors 244A and applications/services 244C are shown as being linked to tenant 244B. That is, the administrative user account may access a specific tenant configuration to modify data mapping and/or provisioning including permissions related to sharing data with the vendors 244A and applications/services 244C.

In some technical instances, sharing permissions may have yet to be created for mapped education data. In such examples, a GUI of the education platform service may be configured to aid the administrative user with setting sharing permissions associating provisioning of mapped education data with vendors 244A, tenants 244B and application/services 244C. In other technical instances, sharing permissions may have already been created, where the administrative user account is looking to review and/or modify sharing permissions. In such instances, a GUI of the education platform service may be configured to aid the administrative user with reviewing sharing permissions associating provisioning of mapped education data with vendors 244A, tenants 244B and application/services 244C.

Flow of method 240 may proceed to processing operation 246, where data analytics insights (and determinations therefrom) may be generated to aid with management of data provisioning on behalf of the administrative user account. During real-time (or near real-time) execution of a GUI of an education platform service, an exemplary orchestration management component may be configured to generate data analytics insights (or results from analysis thereof) to aid the administrative user account with determinations for data ingestion processing and data provisioning processing. Processing may further occur to determine how and when to present results of that processing to the administrative user account to aid data provisioning management. Data analytics insights (or results of analysis thereof) may be surfaced through a GUI (or other modality) as a notification, suggestion, recommendation, autocorrection or in telemetric reporting, among other examples. As referenced in the foregoing description, trained AI processing may be configured to automatically generate data analytics insights and/or results from analysis thereof. Data analytics insights (and results therefrom) may be generated from analysis of collected signal data. Non-limiting examples of signal data that may be utilized for generation of data analytics insights comprise but are not limited to signal data pertaining to one or more of: usage of the administrative user account; a tenant configuration (e.g., synchronized education profiles) associated with the administrative user account; features/services provided through the educational platform service; and one or more software vendors associated with a tenant configuration or otherwise available for integration within the tenant configuration, among other types of signal data. Some specific non-limiting examples of such types of signal data have been provided in the foregoing description including the description of system diagram 100 (e.g., AI processing 112 of FIG. 1 ). Trained AI processing may further be configured to execute ranking processing to curate data analytics insights and determine a most relevant data analytics insight (or determination therefrom) for a current context with respect to user access to the education platform service.

Processing operation 246 may further comprise processing operations that evaluate signal data to determine a timing (reference point) for surfacing of data analytics insights or determinations generated from analysis thereof. For instance, trained AI processing may be configured to execute ranking processing configured to filter timing options for utilizing data analytics insights to determine a best possible time to utilize and/or present a data analytic insight. In some examples, this analysis may result in a technical decision to provide a result of analysis of data analytics insights (e.g., notifications, recommendations, suggestions, autocorrections, telemetry data/reporting) through a GUI of the education platform service. In other examples, a result of analysis of data analytics insights may yield a decision to provide a notification, suggestion, recommendation, telemetric report, etc., through another modality. For instance, an email application/service may be associated with the education platform service, where a telemetric reporting may be provided to the administrative user account to aid resolution of data provisioning matters within the education platform service. In any case, generation of data analytics insights, including determining when to provide a notification, may be continuous and reflect a current context that is detected. In alternative examples, data analytics insights may be generated at a point in time where the administrative user account is offline (logged off) from the educational platform service. As such, method 240 may not require explicit generation of data analytics insights and may only require retrieval thereof. It is further noted that while generation of data analytics insights is ordered as processing operation 246, that specific processing may occur at any point in method 240.

In any example, the request may be processed by one or more components that are configured to aid the administrative user account with management of the sharing permissions including provisioning of their education data. Processing of the request may comprise determining current sharing permissions of the mapped education data associated with the synchronized education profile. At processing operation 248, current sharing permissions associated with a tenant configuration (e.g., synchronized education profile) are determined. As referenced in the foregoing, some technical instances refer to the creation of sharing permissions. In such instances, current sharing permissions may not yet be set, requiring the user to configure the sharing permissions. In some technical instances, default sharing permissions may be set for the administrative user based the tenant configuration and results of the data mapping processing. The administrative user account may still review said default sharing permissions for potential modification.

Flow of method 240 may proceed to processing operation 250, where a GUI menu (or multiple GUI menus) may be presented through the GUI of an education platform service for management of sharing permissions. An exemplary GUI menu displays current sharing permissions associated with mapped education data. A GUI menu may be presented in response to receiving the request to view sharing permissions of mapped education data. The GUI menu may comprise a plurality of selectable/de-selectable GUI elements that enable the administrative user account to control provisioning of the mapped education data. In examples where the administrative user account is creating sharing permissions, the GUI may be configured to provide a wizard-like interface to help guide the administrative user account with setting sharing permissions across one or more of: vendors 244A, tenants 244B (e.g., synchronized education profiles) and applications/services 244C (e.g., of the education platform service). An exemplary GUI may be configured to aid the administrative user account in bulk provisioning sharing permissions, where GUI elements may be presented that enable a user to set sharing permissions for mapped education data with respect to one or more vendors, features, applications/services, etc.

As one example, multiple of the plurality of selectable/de-selectable GUI elements may be selected/de-selected to control data provisioning. In some instances, this may occur through a single GUI selection. For instance, bulk provisioning to create sharing permissions may occur through a single selection of a GUI element (e.g., one feature selection sets sharing permissions for a plurality of vendors). In a vendor-specific provisioning example, the customized GUI is configured to provide a plurality of selectable/de-selectable GUI elements for controlling sharing permissions for sharing mapped data with one or more software vendors. Similar functionality may be provided through a GUI for other types of data provisioning including management of sharing permissions associated with user accounts (e.g., of a synchronized education profile) and/or specific provisioning of features/services associated with the education platform service. A selection may be received, through the GUI, of a GUI element from the selectable/de-selectable GUI elements. In response to the receiving of the selection of the GUI element, a state of provisioning of the mapped education data with the one or more software vendors is created/modified. In further examples, presented GUI elements may be configured to enable administrative user accounts to bulk provision sharing permissions for a plurality of synchronized education profiles at the same time. For example, a school IT admin may manage profiles, through the education platform service, for a plurality of different educational institutions, where similar sharing permissions (or other aspects of a tenant configuration) may be the same across the different profiles. GUI elements may be presented to enable the administrative user account to manage multiple profiles using fewer actions.

A creation/modification of the state of provisioning may set/change one or more sharing permissions associated with the education data. In one example, a creation/modification of the state of provisioning automatically executes a bulk provisioning change that creates/modifies sharing permissions for two or more types of data identified in a stored data (education data) mapping for a synchronized education profile. This may occur based on the selection of an associated GUI element. As a non-limiting example, the two or more types of data, identified in the stored data mapping for the synchronized education profile, may comprise: data of required educational data fields; and data of optional educational data fields. The data of required educational data fields that pertain to a current (active) configuration of the synchronized education profile. The data of optional educational data fields that, if activated, would enhance a user experience for users associated with the synchronized education profile relative to the specific application/service features of the one or more software vendors. A creation/modification of the state of provisioning of the mapped education data may comprise setting/changing sharing permissions with respect to the data of the required educational data fields and the data of the optional educational data fields.

Processing operation 250 may further comprise presentation, through the GUI, of data analytics insights and/or results generated from analysis thereof. As referenced in the foregoing description, trained AI processing may be configured to analyze signal data to determine an appropriate timing to surface data analytics insights and/or notifications thereof. In one example, this may occur while the administrative user account is reviewing specific GUI elements (or a specific GUI menu). For instance, if the administrative user is reviewing sharing permissions set for software vendors (ISVs), data analytic insights specific to aiding management of sharing permissions with vendors may be surfaced. However, in other technical examples, presentation of content associated with data analytics insights may correlate different types of data analytics to provide enhanced (richer) analysis. For instance, telemetry data with respect to user account usage of features/services associated with a specific ISV may provide insights into whether the administrative user account may want to continue utilizing such features/services.

The education platform service may further be configured to enable interfacing between organizations (e.g., educational institutions) and software vendors (e.g., ISVs). A relationship therebetween may be managed by the administrative user account through features and/or applications/services of the education platform service. In one technical instance, the GUI of the education platform service is configured to provide a GUI element configured to indicate an existing contract state for integration of services of the one or more software vendors with a synchronized education profile. This may assist the administrative user account with managing the contractual relationship. An exemplary GUI element that configured to indicate the existing contract state may provide visual indication of a current term of a contract with the one or more software vendors. This may facilitate easier and more efficient management of an existing contractual relationship while also providing greater transparency thereof for the administrative user account. In some examples, generation of data analytics insights may comprise generating a data analytics insight (or recommendation/suggestion) for managing the existing contract state for integration of services of the one or more software vendors with the synchronized education profile, and wherein the recommendation is a recommendation for modifying the existing contract state that comprises the data analytics insight for managing the existing contract state.

Flow of method 240 may proceed to decision operation 252. At decision operation 252, it is determined whether there is an update to sharing permissions to be applied. An update may comprise either a creation of a new sharing permission or a modification of an existing sharing permission. In examples where no update is received to sharing permissions for provisioning of mapped education data, flow of decision operation 252 branches NO and processing of method 240 remains idle until subsequent interaction is received through the GUI. In examples where an update is received to sharing permissions for provisioning of mapped education data, flow of decision operation 252 branches YES and processing of method 240 proceeds to processing operation 254.

At processing operation 254, sharing permissions are updated (e.g., created/modified). For example, sharing permissions associated with the education data may be updated (processing operation 254) through the education platform service based on a modification of the state of provisioning of mapped education data (e.g., received through the GUI). An update of the current sharing permissions may be presented (processing operation 256) through the GUI. In some technical examples, notification of sharing permissions may occur through modalities other than a GUI which may be integrated with a software data platform (e.g., education platform service). For instance, notifications of sharing permissions may be presented through other communication modalities such as email, instant messaging, collaborative communication channels, etc.

FIGS. 3A-3H illustrate non-limiting examples of processing device views of a device that is enabling a user to manage data provisioning of domain-specific data through a GUI of a software data platform, with which aspects of the present disclosure may be practiced. FIGS. 3A-3H provide non-limiting front-end examples of processing described in the foregoing including system diagram 100 (FIG. 1 ) and methods 200 (FIG. 2A) and 240 (FIG. 2B). While the processing device views of FIGS. 3A-3H may illustrate specific types of data provisioning (e.g., vendor-specific, tenant-specific) it is to be understood that those are non-limiting examples. The same technical concepts shown in FIGS. 3A-3H can be extended to management of any type of data provisioning without departing from the spirit of the present disclosure.

FIG. 3A presents processing device view 300, illustrating an exemplary GUI for an education platform service. As shown in processing device view 300, the GUI may be configured to present specific GUI features/elements pertaining to the novel processing operations described in the present disclosure, wherein the GUI is specifically configured to aid a user with data ingestion of data into the education platform service and further management of data provisioning permissions providing access and usage of mapped data. Processing device view 300 provides some general GUI features that are described herein but not labeled (for ease of visual identification of FIG. 3A. A login feature is displayed in the GUI identifying that an administrative user (“Julie”) is logged in and accessing the GUI to integrate education data into the education platform service. The GUI may further identify a specific data profile (e.g., synchronized education profile) for which a data mapping may be created for and applied to. In the example shown in processing device view 300, a data mapping is being created for an educational institution (“Redmond School District”). A profile feature may enable the administrative user account to easily change the data profile that they are working with. This may be useful in technical instances where an administrative user account manages numerous educational institutions and thus has more than one data profile registered with the education platform service.

Processing device view 300 illustrates an example of a GUI screen indicating completion of data mapping processing (including validation of data mapping errors) as described in method 200 (FIG. 2A). In one technical example, this may be the point at which the administrative user account reviews sharing permissions associated with data provisioning. However, the GUI is configured to enable a user to GUI menus for data provisioning at any time.

A first GUI notification element 302 indicates that data mapping processing was successful to integrated mapped education data into an education platform service. A second GUI notification element 304 provides the user with the ability access a stored data mapping (e.g., through the distributed cache storage). The stored data mapping provides associations (e.g., data transformations) of education data so that the education data can be integrated within the education platform service. The administrative user account may wish to review/modify this mapping at any point in time. Additionally, the GUI shown in processing device view 300 provides the administrative user account with a GUI mapping feature 306 that enables the administrative user account to quickly initiate a new data mapping. The GUI mapping feature 306 may be useful when the administrative user account is managing more than one data profile and/or ingesting a plurality of different types of education data into the education platform service. Further application command control features may be provided through the GUI including those that enable the administrative user to save progress for data ingestion processing and/or data provisioning processing.

FIG. 3B presents processing device view 310, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 300 (FIG. 3A). The GUI menu presented in processing device view 310 provides GUI features that enable the administrative user account to manage bulk provisioning of mapped education data, which is being utilized by features/services of a software data platform. A storage location GUI feature 312 is configured to enable the administrative user account to select a data mapping that they would like to modify sharing permissions for. In the example shown in processing device view 310, the storage location GUI feature 312 indicates that the user is working with a single data mapping (e.g. “Red Rosters 1”), where the administrative user account may provision the usage of required educational data fields and/or optional educational data fields. A first bulk provisioning feature 314 is provided to enable the administrative user account to control (in bulk) the provisioning of any required educational data fields identified from the data mapping (e.g. “Red Rosters 1”). As an example, the first bulk provisioning feature 314 may be configured to enable the administrative user account to turn on/off sharing permissions specific to respective mapped data. In the event that the user prefers to toggle individual mapped data fields, supplemental provisioning features may be provided that enable the user to control specific data. For instance, a first supplemental provisioning feature 316 may be provided enable the user to control provisioning of a specific required educational data field (e.g., “External ID”) from the data mapping.

Similar GUI functionality is provided to control the optional education data fields from the data mapping. A second bulk provisioning feature 318 is provided to enable the administrative user account to control (in bulk) the provisioning of any optional educational data fields identified from the data mapping (e.g. “Red Rosters 1”). As an example, the second bulk provisioning feature 318 may be configured to enable the administrative user account to turn on/off sharing permissions specific that respective mapped data. In the event that the user prefers to toggle individual mapped data fields, supplemental provisioning features may be provided that enable the user to control specific data. For instance, a second supplemental provisioning feature 320 and a third supplemental provisioning feature 322 may be provided enabling the user to control provisioning of a specific required educational data field (e.g., “Grade/Class” and “Extracurricular”) from the data mapping. As referenced in the foregoing description, the GUI may be configured so that data analytics insights can be presented therethrough at any point in time. Processing device view 310 illustrates a technical example where the user executes an action 324 (e.g., selection or hover over) of the third supplemental provisioning feature 322 (“Extracurricular”), which results in the progression to the processing device view shown in FIG. 3C.

FIG. 3C presents processing device view 330, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 310 (FIG. 3B). Processing device view 330 illustrates the provision of a notification of a specific data analytics insight 332. As indicated in the foregoing description, notification 332 may be presented through the GUI in response to execution of the action 324 (FIG. 3C) with respect to the third supplemental provisioning feature 322 (“Extracurricular”). As can be seen in processing device view 330, notification 332 provides specific data indicating that enablement of a sharing permission that provisions the “Extracurricular” optional education data field would result in a better (richer) user experience for user accounts associated with a tenant configuration. This may aid the administrative user account in determining how to provision specific data types of mapped data. Processing device view 330 further illustrates a technical example where the user executes an action 334 (e.g., selection) of a GUI command control feature (“Next”), which results in the progression to the processing device view shown in FIG. 3D.

FIG. 3D presents processing device view 340, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 330 (FIG. 3C). The GUI menu presented in processing device view 340 provides GUI features that enable the administrative user account to manage bulk provisioning of sharing permissions with different ISVs. In the example shown in processing device view 340, the storage location GUI feature 312 indicates that the user is working with a single data mapping (e.g. “Red Rosters 1”), where the administrative user account may provision the usage of required educational data fields and/or optional educational data fields. A first bulk provisioning feature 342 is provided to enable the administrative user account to control (in bulk) the provisioning of mapped data with a plurality of different vendors. As an example, the first bulk provisioning feature 342 may be configured to enable the administrative user account to turn on/off sharing permissions of respective mapped data with specific vendors (e.g., “Vendor 1”, “Vendor 2”, “Vendor 3”) integrating through the education platform service. In the event that the user prefers to toggle individual mapped data fields, supplemental provisioning features may be provided that enable the user to control specific data provisioning. For instance, a first supplemental provisioning feature 344 may be provided enable the user to control provisioning of a specific required educational data field (e.g., “External ID”) from the data mapping with a specific vendor (i.e., “Vendor 1”). Similar supplemental provisioning features (346 & 348) are provided to enable control over provisioning of mapped data with specific vendors (i.e., “Vendor 2” and “Vendor 3” respectively). Processing device view 340 further illustrates a technical example where the user executes an action 350 (e.g., selection) of which in a toggling of sharing permissions with “Vendor 1.”

FIG. 3E presents processing device view 360, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 330 (FIG. 3C). In the example shown in processing device view 360, a notification 362 is automatically presented for the administrative user account to aid with management of data provisioning with respect to a specific ISV (e.g., “Vendor 1”). The notification 362 provides specific data analytics insights that pertain to a contractual relationship between an educational institution, managed by the administrative user account, and an ISV (e.g., “Vendor 1”). For instance, the notification 362 indicates that a contract with “Vendor 1” is close to expiring and instructs the administrative user account to follow a link to review the contractual relationship. In response to reviewing the notification 362, the administrative user account selects a supplemental provisioning feature 364 that is configured to enable the administrative user account to review the provisioning of specific types of data with “Vendor 1”. Selection of the supplemental provisioning feature 364 results in the progression to the processing device view shown in FIG. 3F.

FIG. 3F presents processing device view 370, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 360 (FIG. 3E). Processing device view 370 illustrates the presentation of GUI features configured to enable control over data provisioning with a specific vendor (e.g., “Vendor 1”). The GUI menu presented in processing device view 370 provides GUI features that enable the administrative user account to review/modify a contractual relationship with “Vendor 1” as well as control sharing permissions for provisioning of specific types of mapped data with “Vendor 1”. A contractual relationship GUI feature 372 provides the administrative user account with details regarding a contractual relationship with software vendor (i.e., “Vendor 1”). The contractual relationship GUI feature 372 may be populated with data analytics insights and/or results from analysis thereof to aid the administrative user account with management of provisioning of data with an ISV. In further instances, GUI features (e.g., the contractual relationship GUI feature 372) may comprise links to other integrated features, applications/services, etc., that may be integrated within the software data platform. For example, the contractual relationship GUI feature 372 may comprise a link that may automatically initiate a communication between the administrative user account and the ISV (e.g., via email or instant messaging) in an integrated applications/service. This provides a tremendous benefit over traditional SIS/LMS that are not expansive to comprise access to a plurality of different applications/services to extend functionality.

The GUI menu in processing device view 370 further provides bulk provisioning features to enable control of provisioning of specific types of mapped data. A first bulk provisioning feature 374 is provided to enable the administrative user account to control (in bulk) the provisioning of required educational data fields (e.g., identified from data mapping processing) with the ISV. As described with respect to other GUI menus, supplemental provisioning features may be provided within the first bulk provisioning feature 374 to enable control over sharing permissions that manage the provisioning of specific types of required educational data fields (e.g., “External ID”).

A second bulk provisioning feature 376 is provided to enable the administrative user account to control (in bulk) the provisioning of optional educational data fields (e.g., identified from data mapping processing) with the ISV. As described with respect to other GUI menus, supplemental provisioning features may be provided within the second bulk provisioning feature 376 to enable control over sharing permissions that manage the provisioning of specific types of optional educational data fields (e.g., “Grade/Class” & “Extracurricular”).

FIG. 3G presents processing device view 380, illustrating a continued example of an exemplary GUI for an education platform service. The GUI menu presented in processing device view 380 provides GUI features that enable the administrative user account to manage (in bulk) data provisioning with respect to features, application/services, etc., provided to user accounts associated with a tenant configuration. For example, a synchronized education profile registered for the education platform service may comprise a plurality of user accounts across multiple different school districts (e.g., “District 1”, “District 2”, “District 3”). The GUI is configured to enable the administrative user account to more easily and transparently manage provisioning of data to users of those specific school districts.

In processing device view 380, a first bulk provisioning feature 382 is provided to enable the administrative user account to control (in bulk) the provisioning of mapped data for usage with user accounts so that the mapped data can be utilized to provide the best possible user experience. As described with respect to other GUI menus, supplemental provisioning features (384, 386, 388) may be provided within the first bulk provisioning feature 382 to enable control over sharing permissions that manage the provisioning of specific groupings of user accounts (e.g., “District 1”, “District 2”, “District 3”).

Moreover, data analytics insights may further be provided through the GUI to assist the administrative user account with management of sharing permissions with respect to specific user accounts. Processing device view 380 further illustrates a technical example where the user executes an action 389 (e.g., selection) of a GUI command control feature (“Next”), which results in the progression to the processing device view shown in FIG. 3H. For example, the administrative user account may select a GUI element configured to provide access to data analytics insights for a specific group of users (e.g., viewing data analytics insights for users of “District 1”).

FIG. 3H presents processing device view 390, illustrating a continued example of an exemplary GUI for an education platform service building off what is shown in processing device view 380 (FIG. 3G). The GUI menu presented in processing device view 390 provides GUI features that enable the administrative user account to review telemetric reporting. A non-limiting example of a telemetric reporting combines a plurality of data analytics insights into a meaningful form to aid the administrative user account with data provisioning management. In this example, telemetric reporting provides various data analytics insights summarizing usage of the education platform service by a specific group of users (i.e., users of “District 1” associated with the identified data profile). Some data analytics insights may pertain to usage that solely characterizes the specific group of users (i.e., “District 1”). However, other data analytics insights may correlate usage by the specific group of users (i.e., “District 1”) with other groups of users (i.e., “District 2” and “District 3”) or even users from other data profiles, among other examples. Other aspects of data usage may pertain to data analytics insights specific to the features/services utilized most/least by users and usage of vendor-specific features/services by users. Such data may be extremely useful to aid the administrative user account with provisioning of its data.

Specific non-limiting examples of notifications of data analytics insights are provided in processing device view 390. For instance, a first telemetry GUI feature 392 provides a link to data analytics insights that compare usage of the education platform service across specific user groups (e.g., “District 1”, “District 2”, “District 3”) of a synchronized education profile. A second telemetry GUI feature 394 provides data analytics insights that identify how a better user experience can be provided for users associated with a synchronized education profile. For instance, a first data analytic insight identifies that users are enrolled in extracurricular activities. This may provide an indication to the administrative user account that provisioning data related to an optional education data field of “Extracurricular” may extend features/services provided through the education platform service, which may then lead the administrator to modify sharing permissions via the GUI. A second data analytic insight identifies how often vendors (ISVs) requested a specific type of data (e.g., optional educational data field “Grade/Class”). This may provide an indication to the administrative user account that provisioning data, such that an ISV has access to this data, related to an optional education data field of “Grade/Class” may extend features/services provided through the education platform service.

A third telemetry GUI feature 396 provides data analytics insights that identify how specific features/services are utilized by user accounts associated with a synchronized data profile. For instance, a first data analytic insight identifies that users utilize a word processing application/service frequently to view assignments. This may provide an indication to the administrative user account that the word processing application/service is an integral feature. A second data analytic insight identifies how often users utilize a diagramming application/service to complete work/assignments. This may provide an indication to the administrative user account that the diagramming application/service is an optional feature that may only need to be activated upon specific user request. As such, telemetric reporting may present data analytics insights in a manner that is most useful to the administrative user account to aid data ingestion and data provisioning.

FIG. 4 illustrates a computing system 401 suitable for implementing processing operations described herein related to domain management via a software data platform, with which aspects of the present disclosure may be practiced. As referenced above, computing system 401 may be configured to implement processing operations of any component described herein including the orchestration management component(s). As such, computing system 401 may be configured to execute specific processing operations to solve the technical problems described herein, whereby processing operations are executed to improve processing with respect to data ingestion, data provisioning as well as provision of an improved user interface for data management (for output via a component of computing system 401 or another computing device). Computing system 401 may be implemented as a single apparatus, system, or device or may be implemented in a distributed manner as multiple apparatuses, systems, or devices. For example, computing system 401 may comprise one or more computing devices that execute processing for applications and/or services over a distributed network to enable execution of processing operations described herein over one or more applications or services. Computing system 401 may comprise a collection of devices executing processing for front-end applications/services, back-end applications/service or a combination thereof. Computing system 401 comprises, but is not limited to, a processing system 402, a storage system 403, software 405, communication interface system 407, and user interface system 409. Processing system 402 is operatively coupled with storage system 403, communication interface system 407, and user interface system 409. Non-limiting examples of computer system 401 comprise but are not limited to: smart phones, laptops, tablets, PDAs, desktop computers, servers, smart computing devices including television devices and wearable computing devices, e-reader devices, gaming consoles and conferencing systems, among other non-limiting examples.

Processing system 402 loads and executes software 405 from storage system 403. Software 405 includes one or more software components (e.g., 406 a and 406 b) that are configured to enable functionality described herein. In some examples, computing system 401 may be connected to other computing devices (e.g., display device, audio devices, servers, mobile/remote devices, etc.) to further enable processing operations to be executed. When executed by processing system 402, software 405 directs processing system 402 to operate as described herein for at least the various processes, operational scenarios, and sequences discussed in the foregoing implementations. Computing system 401 may optionally include additional devices, features, or functionality not discussed for purposes of brevity. Computing system 401 may further be utilized to execute system diagram 100 (FIG. 1 ), processing operations described in methods 200 (FIG. 2A) and 240 (FIG. 2B) or the accompanying description of FIGS. 3A-3H.

Referring still to FIG. 4 , processing system 402 may comprise processor, a micro-processor and other circuitry that retrieves and executes software 405 from storage system 403. Processing system 402 may be implemented within a single processing device but may also be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. Examples of processing system 402 include general purpose central processing units, microprocessors, graphical processing units, application specific processors, sound cards, speakers and logic devices, gaming devices as well as any other type of processing devices, combinations, or variations thereof.

Storage system 403 may comprise any computer readable storage media readable by processing system 402 and capable of storing software 405. Storage system 403 may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, cache memory or other data. Examples of storage media include random access memory, read only memory, magnetic disks, optical disks, flash memory, virtual memory and non-virtual memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other suitable storage media, except for propagated signals. In no case is the computer readable storage media a propagated signal.

In addition to computer readable storage media, in some implementations storage system 403 may also include computer readable communication media over which at least some of software 405 may be communicated internally or externally. Storage system 403 may be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other. Storage system 403 may comprise additional elements, such as a controller, capable of communicating with processing system 402 or possibly other systems.

Software 405 may be implemented in program instructions and among other functions may, when executed by processing system 402, direct processing system 402 to operate as described with respect to the various operational scenarios, sequences, and processes illustrated herein. For example, software 405 may include program instructions for executing one or more orchestration management component(s) 406 a as described herein. Software 405 may further comprise application/service component(s) 406 b that provide applications/services as described in the foregoing description such as applications/services provided by software vendors or applications/services provided through a software data platform (e.g., education platform service), among other examples. While educational data is one example of data that integrated within a software data platform, it is to be understood that the present disclosure is intended to be enabled to work with any type of data without departing from the spirit of the present disclosure.

In particular, the program instructions may include various components or modules that cooperate or otherwise interact to carry out the various processes and operational scenarios described herein. The various components or modules may be embodied in compiled or interpreted instructions, or in some other variation or combination of instructions. The various components or modules may be executed in a synchronous or asynchronous manner, serially or in parallel, in a single threaded environment or multi-threaded, or in accordance with any other suitable execution paradigm, variation, or combination thereof. Software 405 may include additional processes, programs, or components, such as operating system software, virtual machine software, or other application software. Software 405 may also comprise firmware or some other form of machine-readable processing instructions executable by processing system 402.

In general, software 405 may, when loaded into processing system 402 and executed, transform a suitable apparatus, system, or device (of which computing system 401 is representative) overall from a general-purpose computing system into a special-purpose computing system customized to execute specific processing components described herein as well as process data and respond to queries. Indeed, encoding software 405 on storage system 403 may transform the physical structure of storage system 403. The specific transformation of the physical structure may depend on various factors in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the storage media of storage system 403 and whether the computer-storage media are characterized as primary or secondary storage, as well as other factors.

For example, if the computer readable storage media are implemented as semiconductor-based memory, software 405 may transform the physical state of the semiconductor memory when the program instructions are encoded therein, such as by transforming the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. A similar transformation may occur with respect to magnetic or optical media. Other transformations of physical media are possible without departing from the scope of the present description, with the foregoing examples provided only to facilitate the present discussion.

Communication interface system 407 may include communication connections and devices that allow for communication with other computing systems (not shown) over communication networks (not shown). Communication interface system 407 may also be utilized to cover interfacing between processing components described herein. Examples of connections and devices that together allow for inter-system communication may include network interface cards or devices, antennas, satellites, power amplifiers, RF circuitry, transceivers, and other communication circuitry. The connections and devices may communicate over communication media to exchange communications with other computing systems or networks of systems, such as metal, glass, air, or any other suitable communication media. The aforementioned media, connections, and devices are well known and need not be discussed at length here.

User interface system 409 is optional and may include a keyboard, a mouse, a voice input device, a touch input device for receiving a touch gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, gaming accessories (e.g., controllers and/or headsets) and other comparable input devices and associated processing elements capable of receiving user input from a user. Output devices such as a display, speakers, haptic devices, and other types of output devices may also be included in user interface system 409. In some cases, the input and output devices may be combined in a single device, such as a display capable of displaying images and receiving touch gestures. The aforementioned user input and output devices are well known in the art and need not be discussed at length here.

User interface system 409 may also include associated user interface software executable by processing system 402 in support of the various user input and output devices discussed above. Separately or in conjunction with each other and other hardware and software elements, the user interface software and user interface devices may support a graphical user interface, a natural user interface, or any other type of user interface, for example, that enables front-end processing of exemplary application/services described herein including rendering of: an improved GUI for data management (including data ingestion and data provisioning); application command control for specific data management features; specific GUI menus and GUI elements specifically configured to improve data ingestion and data provisioning; presentation of data analytical insights; presentation of autocorrections and recommendations; presentation of telemetry data, or any combination thereof. User interface system 409 comprises a graphical user interface that presents graphical user interface elements representative of any point in the processing described in the foregoing description including processing operations described in system diagram 100 (FIG. 1 ), methods 200 (FIG. 2A) and 240 (FIG. 2B) and front-end representations related to the description of FIGS. 3A-3H. A graphical user interface of user interface system 409 may further be configured to display graphical user interface elements (e.g., data fields, menus, links, graphs, charts, data correlation representations and identifiers, etc.) that are representations generated from processing described in the foregoing description. Exemplary applications/services may further be configured to interface with processing components of computing device 401 that enable output of other types of signals (e.g., audio output) in conjunction with operation of exemplary applications/services (e.g., education platform service) described herein.

Communication between computing system 401 and other computing systems (not shown), may occur over a communication network or networks and in accordance with various communication protocols, combinations of protocols, or variations thereof. Examples include intranets, internets, the Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software defined networks, data center buses, computing backplanes, or any other type of network, combination of network, or variation thereof. The aforementioned communication networks and protocols are well known and need not be discussed at length here. However, some communication protocols that may be used include, but are not limited to, the Internet protocol (IP, IPv4, IPv6, etc.), the transfer control protocol (TCP), and the user datagram protocol (UDP), as well as any other suitable communication protocol, variation, or combination thereof.

In any of the aforementioned examples in which data, content, or any other type of information is exchanged, the exchange of information may occur in accordance with any of a variety of protocols, including FTP (file transfer protocol), HTTP (hypertext transfer protocol), HTTPS REST (representational state transfer), WebSocket, DOM (Document Object Model), HTML (hypertext markup language), CSS (cascading style sheets), HTML5, XML (extensible markup language), JavaScript, JSON (JavaScript Object Notation), and AJAX (Asynchronous JavaScript and XML), Bluetooth, infrared, RF, cellular networks, satellite networks, global positioning systems, as well as any other suitable communication protocol, variation, or combination thereof.

The functional block diagrams, operational scenarios and sequences, and flow diagrams provided in the Figures are representative of exemplary systems, environments, and methodologies for performing novel aspects of the disclosure. While, for purposes of simplicity of explanation, methods included herein may be in the form of a functional diagram, operational scenario or sequence, or flow diagram, and may be described as a series of acts, it is to be understood and appreciated that the methods are not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a method could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation.

The descriptions and figures included herein depict specific implementations to teach those skilled in the art how to make and use the best option. For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate variations from these implementations that fall within the scope of the invention. Those skilled in the art will also appreciate that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.

Reference has been made throughout this specification to “one example” or “an example,” meaning that a particular described feature, structure, or characteristic is included in at least one example. Thus, usage of such phrases may refer to more than just one example. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more examples.

One skilled in the relevant art may recognize, however, that the examples may be practiced without one or more of the specific details, or with other methods, resources, materials, etc. In other instances, well known structures, resources, or operations have not been shown or described in detail merely to observe obscuring aspects of the examples.

While sample examples and applications have been illustrated and described, it is to be understood that the examples are not limited to the precise configuration and resources described above. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems disclosed herein without departing from the scope of the claimed examples. 

What is claimed is:
 1. A computer-implemented method comprising: receiving, via a graphical user interface (GUI) of an education platform service, a request to integrate a data file into one or more data profiles of the education platform service; retrieving data analytics insights based on signal data associated with the education platform service; in response to receiving the request, executing data mapping processing comprising utilizing the data analytics insights to generate a data mapping comprising data transformations to map the data file to data fields associated with the one or more data profiles; and applying the data mapping to the one or more data profiles of the education platform service to integrate the data file into the one or more data profiles.
 2. The computer-implemented method of claim 1, wherein each of the one or more data profiles is associated with a student of a plurality of students and wherein the data analytics insights comprises information related to activities associated with the plurality of students.
 3. The computer-implemented method of claim 2, wherein the information related to the activities associated with the plurality of students comprises statistical information regarding extracurricular activities of the plurality of students.
 4. The computer-implemented method of claim 2, wherein the information related to the activities associated with the plurality of students comprises data regarding productivity application login data for the plurality of students.
 5. The computer-implemented method of claim 1, further comprising: generating the data analytics insights, wherein generating the data analytics insights comprises: applying trained artificial intelligence (AI) processing to the signal data to output the data analytics insights.
 6. The computer-implemented method of claim 1, wherein the retrieving the data analytics insights comprises identifying and filtering specific data analytics insights from a plurality of data analytics insights based on user interaction with the education platform service.
 7. The computer-implemented method of claim 1, wherein the executing the data mapping processing comprises providing a graphical user interface (GUI) with navigable GUI elements to guide a user through the data mapping and provide optional configurations.
 8. The computer-implemented method of claim 1, further comprising: identifying data mapping errors during the data mapping processing; and presenting the data mapping errors via the GUI.
 9. The computer-implemented method of claim 8, further comprising: utilizing the data analytics insights to provide a recommendation via the GUI to resolve the data mapping errors.
 10. The computer-implemented method of claim 8, further comprising: utilizing the data analytics insights to generate an autocorrection of the data mapping errors.
 11. The computer-implemented method of claim 1, wherein the signal data comprises one or more of: data pertaining to an administrative user account, data pertaining to a configuration of the data profiles, data pertaining to student usage of specific features associated with the data profiles of the educational platform service, and data pertaining to specific features of one or more software vendors.
 12. The computer-implemented method of claim 1, further comprising: providing, via the GUI, access to the data mapping to allow a user to modify the data mapping.
 13. The computer-implemented method of claim 1, wherein the data analytics insights comprises one or more recommendations for enabling features for applications associated with the education platform service.
 14. A system comprising: at least one processor; and a memory, operatively connected with the at least one processor, storing computer-executable instructions that, when executed by the at least one processor, causes the at least one processor to: receive, via a graphical user interface (GUI) of an education platform service, a request to integrate a data file into one or more data profiles of the education platform service; retrieve data analytics insights based on signal data associated with the education platform service; in response to receiving the request, execute data mapping processing comprising utilizing the data analytics insights to generate a data mapping comprising data transformations to map the data file to data fields associated with the one or more data profiles; and apply the data mapping to the one or more data profiles of the education platform service to integrate the data file into the one or more data profiles.
 15. The system of claim 14, wherein each of the one or more data profiles is associated with a student of a plurality of students and wherein the data analytics insights comprises information related to activities associated with the plurality of students.
 16. The system of claim 15, wherein the information related to the activities associated with the plurality of students comprises statistical information regarding extracurricular activities of the plurality of students.
 17. The system of claim 15, wherein the information related to the activities associated with the plurality of students comprises data regarding productivity application login data for the plurality of students.
 18. The system of claim 14, wherein the memory stores further computer-executable instructions that, when executed by the at least one processor, causes the at least one processor to: generate the data analytics insights, wherein to generate the data analytics insights comprises: applying trained artificial intelligence (AI) processing to the signal data to output the data analytics insights.
 19. The system of claim 14, wherein the computer-executable instructions to retrieve the data analytics insights comprises further computer-executable instructions that, when executed by the at least one processor, causes the at least one processor to: identify and filter specific data analytics insights from a plurality of data analytics insights based on user interaction with the education platform service.
 20. The system of claim 14, wherein the computer-executable instructions to execute the data mapping processing comprises further computer-executable instructions that, when executed by the at least one processor, causes the at least one processor to: provide a graphical user interface (GUI) with navigable GUI elements to guide a user through the data mapping and provide optional configurations; identify data mapping errors during the data mapping processing; present the data mapping errors via the GUI; and utilizing the data analytics insights to provide a recommendation via the GUI to resolve the data mapping errors. 